|
Date : 31 octobre 1993 Protection : MOT DE PASSE Programme : VEIL OF DARKNESS Outils : SOFT-ICE V2.50 + EMS Fichier : CODE.2 Temps pass� : 5 minutes Soci�t� : EVENT HORIZON SOFTWARE + SSI Divers : Demande de mot de passe par icones. Origine : JKT Num�ro : 230 Ce crack avait �t� essay� par le SLAVE avec pour r�sultat un r�affichage de la demande de mot de passe � chaque changement d'image. Pas tr�s pratique pour jouer. Il avait quand m�me r�ussi � d�terminer dans quel fichier se trouvait la protection: CODE.2 Le code est demand� graphiquement � l'aide de 5 figures qu'il faut identifier. Ayant remarqu� que le temps de traitement pour "juger" de la r�ponse �tait relativement long, je pris le risque de taper 5 r�ponses puis d'appeler SOFT-ICE de suite apr�s sans me trigger sur quoique soit. Dans ce genre de protection il faut "s'�loigner" le plus possible de l'endroit de la demande de code pour essayer de tomber dans le programme principal qui appelle par des CALL la demande de code, le test du code, le jeu etc... Dans le cas pr�sent la s�quence suivante me frappe �tant juste situ�e avant un RETF: CS=2331 CS:111E 7405 JZ 1125 CS:1120 B80100 MOV AX,0001 CS:1123 EB02 JMP 1127 CS:1125 33C0 XOR AX,AX CS:1127 CB RETF Mais malheureusement le programme me redemande le code apr�s avoir forc� le contenu de AX � 1. C'est donc pas la bonne... Je continu et trouve ceci un peu plus loin en ayant pass� le RETF: CS=1ED9 CS:44C9 E8F0F8 CALL 3DBC CS:44CC 0BC0 OR AX,AX CS:44CE 7403 JZ 44D3 CS:44D0 E98800 JMP 455B CS:44D3 FF46FE INC WORD PTR [BP-02] Le contenu de AX est �gal � 0000. J'y place 0001 et tape X. Ca marche !... ...jusqu'au prochain changement d'image ! Le code est redemand� ! Ce qui ne signifie qu'une chose: c'est que le r�sultat est test� tout au long du jeu � chaque changement d'image. Smart ! Je d�cide d'aller creuser dans le CALL pr�c�dent le test. Dans ce cas l� il faut aller examiner la fin du CALL juste avant le RET. Pourquoi ? Parceque c'est la que logiquement on place quelque chose ou non dans AX avant de revenir. Et on trouve effectivement ceci: CS=1ED9 ; C'est normal puisque l'on est venu ici par un CALL. CS:3DF0 B80100 MOV AX,0001 ; VOILA CE QUE L'ON EST VENU CHERCHER. CS:3DF3 5E POP SI CS:3DF4 CB RETF ; CA, C'EST PAS NORMAL ! Il ne faut pas se laisser distraire par le fait que l'on est venu en CALL et que l'on repart en RETF. Il faut maintenant agir sur le saut qui fait passer en CS:3DF0 pour obtenir toujours un 0001 en AX avant le RETF. Ce saut se trouve un peu plus haut en CS:3DDB. Il suffit de le forcer. CS:3DD7 3B87C093 CMP AX,[BX+93C0] ; ON TESTE LA REPONSE. CS:3DDB 7404 JZ 3DE1 ; SI ZERO C'EST OK. : : CS:3DE1 46 INC SI ; PROCHAINE FIGURE. CS:3DE2 83FE05 CMP SI,+05 ; 5 FIGURES A TESTER. Avec PCTOOLS chercher: 3B87C0937404 modifier: ........EB.. FREDDY |